home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / DB / NestedSet / DB.php next >
PHP Script  |  2004-03-24  |  3KB  |  119 lines

  1. <?php
  2. //
  3. // +----------------------------------------------------------------------+
  4. // | PEAR :: DB_NestedSet_DB                                              |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2003 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 2.0 of the PHP license,       |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available at through the world-wide-web at                           |
  11. // | http://www.php.net/license/2_02.txt.                                 |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Authors: Daniel Khan <dk@webcluster.at>                              |
  17. // +----------------------------------------------------------------------+
  18. //
  19. // $Id: DB.php,v 1.4 2003/05/25 00:46:46 datenpunk Exp $
  20. //
  21.  
  22. require_once 'DB.php';
  23.  
  24. // {{{ DB_NestedSet_DB:: class
  25.  
  26. /**
  27.  * Wrapper class for PEAR::DB
  28.  *
  29.  * @author       Daniel Khan <dk@webcluster.at>
  30.  * @package      DB_NestedSet
  31.  * @version      $Revision: 1.4 $
  32.  * @access       public
  33.  */
  34.  
  35. // }}}
  36. class DB_NestedSet_DB extends DB_NestedSet {
  37.     // {{{ properties
  38.  
  39.     /**
  40.      * @var object Db object
  41.      */
  42.     var $db;
  43.  
  44.     // }}}
  45.     // {{{ constructor
  46.  
  47.     /**
  48.      * Constructor
  49.      *
  50.      * @param mixed $dsn DSN as PEAR dsn URI or dsn Array
  51.      * @param array $params Database column fields which should be returned  
  52.      * 
  53.      */
  54.     function DB_NestedSet_DB($dsn, $params = array()) 
  55.     {
  56.         $this->_debugMessage('DB_NestedSet_DB($dsn, $params = array())');
  57.         $this->DB_NestedSet($params);
  58.         $this->db =& $this->_db_Connect($dsn);
  59.         $this->db->setFetchMode(DB_FETCHMODE_ASSOC);
  60.     }
  61.  
  62.     // }}}
  63.     // {{{ destructor
  64.  
  65.     /**
  66.      * Destructor
  67.      */
  68.     function _DB_NestedSet_DB() 
  69.     {
  70.         $this->_debugMessage('_DB_NestedSet_DB()');
  71.         $this->_DB_NestedSet();
  72.         $this->_db_Disconnect();
  73.     }
  74.  
  75.     // }}}
  76.     // {{{ _db_Connect()
  77.  
  78.     /**
  79.     * Connects to the db
  80.     *
  81.     * @return object DB The database object
  82.     * @access private
  83.     */
  84.     function &_db_Connect($dsn) 
  85.     {
  86.         $this->_debugMessage('_db_Connect($dsn)');
  87.         if (is_object($this->db)) {
  88.             return $this->db;
  89.         }
  90.  
  91.         $db =& DB::connect($dsn);
  92.         $this->_testFatalAbort($db, __FILE__, __LINE__);
  93.         return $db;
  94.     }
  95.  
  96.     // }}}
  97.     // {{{ _db_Disconnect()
  98.  
  99.     /**
  100.     * Disconnects from db
  101.     *
  102.     * @return void
  103.     * @access private
  104.     */    
  105.     function _db_Disconnect() 
  106.     {
  107.         $this->_debugMessage('_db_Disconnect()');
  108.         if (is_object($this->db)) {
  109.             @$this->db->disconnect(); 
  110.         }
  111.  
  112.         return true;
  113.     }        
  114.  
  115.     // }}}
  116. }
  117.  
  118. ?>
  119.